﻿using OConf.Model.Common;
using OConf.Model.RequestInput.CNameSpace;
using OConf.Model.RequestInput.ConfigInfo;
using OConf.Model.RequestInput.ProjectInfo;
using System.Collections.Generic;

namespace OConf.IBLL
{
    public interface ICNameSpaceBLL
    {
        /// <summary>
        /// 新增命名空间信息
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        ReturnData<bool> AddCNameSpace(AddCNameSpaceInput input);

        /// <summary>
        /// 删除命名空间
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        ReturnData<bool> DeleteCNameSpace(DeleteCNameSpaceInput input);

        /// <summary>
        /// 获取命名空间列表
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        ReturnData<List<CNameSpaceModel>> GetCNameSpaceList(GetNameSpaceInput input);

        /// <summary>
        /// 获取NameSpace信息
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        ReturnData<CNameSpaceModel> GetCNameSpaceModel(GetNameSpaceDetailInput input);

        /// <summary>
        /// 发布配置信息
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        ReturnData<BackProgramConfigInfo> PublishConfigInfo(PublishConfigInput input);
    }
}
